summaryrefslogtreecommitdiff
path: root/libs/hwui/OpenGLRenderer.cpp
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2010-12-14 10:59:41 -0800
committer Romain Guy <romainguy@google.com> 2010-12-14 10:59:41 -0800
commit5536841e5452172e7772d84ad5f4a2fc7059c9dd (patch)
tree46b26a1b783f00a011ecbfe9651f442f512e9bd1 /libs/hwui/OpenGLRenderer.cpp
parent70ca14e08ae197547ac412e8a1210e1ebdfb2eb1 (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.cpp10
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);