diff options
author | 2010-12-14 10:59:41 -0800 | |
---|---|---|
committer | 2010-12-14 10:59:41 -0800 | |
commit | 5536841e5452172e7772d84ad5f4a2fc7059c9dd (patch) | |
tree | 46b26a1b783f00a011ecbfe9651f442f512e9bd1 /libs/hwui/OpenGLRenderer.cpp | |
parent | 70ca14e08ae197547ac412e8a1210e1ebdfb2eb1 (diff) |
OpenGLRenderer would not render colors < ALPHA_THRESHOLD
Bug #3282805
This bug was introduced with a previous refactoring. This also fixes
issues with setting the alpha when drawing bitmaps.
Change-Id: Id47641d26a4536c7e540041f92243bf6db9fc96d
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index a8fe646efee6..46fdc316bf82 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -925,11 +925,17 @@ void OpenGLRenderer::setupDrawModelView(float left, float top, float right, floa } void OpenGLRenderer::setupDrawColorUniforms() { - if (mColorSet && mSetShaderColor) { + if (mColorSet || (mShader && mSetShaderColor)) { mCaches.currentProgram->setColor(mColorR, mColorG, mColorB, mColorA); } } +void OpenGLRenderer::setupDrawColorAlphaUniforms() { + if (mSetShaderColor) { + mCaches.currentProgram->setColor(mColorA, mColorA, mColorA, mColorA); + } +} + void OpenGLRenderer::setupDrawShaderUniforms(bool ignoreTransform) { if (mShader) { if (ignoreTransform) { @@ -1721,7 +1727,7 @@ void OpenGLRenderer::drawTextureMesh(float left, float top, float right, float b } else { setupDrawModelViewTranslate(left, top, right, bottom, ignoreTransform); } - setupDrawColorUniforms(); + setupDrawColorAlphaUniforms(); setupDrawColorFilterUniforms(); setupDrawTexture(texture); setupDrawMesh(vertices, texCoords, vbo); |