Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b763d5ff authored by Jesse Hall's avatar Jesse Hall
Browse files

Assume LayerScreenshot has pre-multiplied alpha

Bug: 7300129
Change-Id: Ie9114adc4b5c9a8cc3c65bfe6d9478b2cba4e0d8
parent f0c89b28
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -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);