summaryrefslogtreecommitdiff
path: root/libs/hwui/OpenGLRenderer.cpp
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2012-09-24 16:01:35 -0700
committer Jean-Baptiste Queru <jbq@google.com> 2012-09-25 09:33:22 -0700
commite83221c547cf2038752e5378e72e49a62cfd9954 (patch)
tree04530c1c08620b4c2c5b8209dc6bf7ba713d3f50 /libs/hwui/OpenGLRenderer.cpp
parentf8538594fe6ba6db3310da042597840601d78cda (diff)
Fix alpha channel computation with ColorMatrixColorFilter
Bug #7222476 There were two issues: - Blending was ignored with color filters - The addition vector of a color filter was treated as integer values instead of float values Change-Id: Id94065704a30ee8aaaa5724a9f3a3cff7c50ced7
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r--libs/hwui/OpenGLRenderer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 35cc7160fc31..d0d1d93489df 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -1398,8 +1398,8 @@ void OpenGLRenderer::setupDrawBlending(bool blend, SkXfermode::Mode mode, bool s
// When the blending mode is kClear_Mode, we need to use a modulate color
// argb=1,0,0,0
accountForClear(mode);
- chooseBlending(blend || (mColorSet && mColorA < 1.0f) || (mShader && mShader->blend()), mode,
- mDescription, swapSrcDst);
+ chooseBlending(blend || (mColorSet && mColorA < 1.0f) || (mShader && mShader->blend()) ||
+ (mColorFilter && mColorFilter->blend()), mode, mDescription, swapSrcDst);
}
void OpenGLRenderer::setupDrawProgram() {