am f5b27f71: am b763d5ff: Assume LayerScreenshot has pre-multiplied alpha

* commit 'f5b27f714063361d07a7ca6f107bba3e13b75d38':
  Assume LayerScreenshot has pre-multiplied alpha
This commit is contained in:
Jesse Hall 2012-10-11 17:54:35 -07:00 committed by Android Git Automerger
commit 570967f6a8

View File

@ -118,21 +118,21 @@ void LayerScreenshot::onDraw(const sp<const DisplayDevice>& hw, const Region& cl
if (s.alpha == 0xFF) { if (s.alpha == 0xFF) {
glDisable(GL_BLEND); glDisable(GL_BLEND);
glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
} else { } else {
glEnable(GL_BLEND); glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, 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);
} }
LayerMesh mesh; LayerMesh mesh;
computeGeometry(hw, &mesh); computeGeometry(hw, &mesh);
glColor4f(0, 0, 0, alpha);
glDisable(GL_TEXTURE_EXTERNAL_OES); glDisable(GL_TEXTURE_EXTERNAL_OES);
glEnable(GL_TEXTURE_2D); glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, mTextureName); glBindTexture(GL_TEXTURE_2D, mTextureName);
glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glMatrixMode(GL_TEXTURE); glMatrixMode(GL_TEXTURE);
glLoadIdentity(); glLoadIdentity();
glMatrixMode(GL_MODELVIEW); glMatrixMode(GL_MODELVIEW);