Always set vertex alpha when drawing screenshot layers

The screenshot is a GL_RGB texture, and the GL_REPLACE texture env
mode uses vertex alpha for GL_RGB textures instead of alpha=1.0.

Bug: 7340077
Change-Id: I6fbb907023e48f9c422b15a33da79757d6726840
This commit is contained in:
Jesse Hall 2012-10-15 12:38:33 -07:00
parent 9bdaa60b80
commit 837d2f9e83

View File

@ -122,13 +122,14 @@ void LayerScreenshot::onDraw(const sp<const DisplayDevice>& hw, const Region& cl
} else { } else {
glEnable(GL_BLEND); glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glColor4f(alpha, alpha, alpha, alpha);
glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
} }
LayerMesh mesh; LayerMesh mesh;
computeGeometry(hw, &mesh); computeGeometry(hw, &mesh);
glColor4f(alpha, alpha, alpha, alpha);
glDisable(GL_TEXTURE_EXTERNAL_OES); glDisable(GL_TEXTURE_EXTERNAL_OES);
glEnable(GL_TEXTURE_2D); glEnable(GL_TEXTURE_2D);