OSDN Git Service

fix DimLayer in GLES2.0 SF
authorMathias Agopian <mathias@google.com>
Fri, 23 Aug 2013 23:12:34 +0000 (16:12 -0700)
committerMathias Agopian <mathias@google.com>
Fri, 23 Aug 2013 23:12:34 +0000 (16:12 -0700)
DimLayer state wasn't initialized properly.

Bug: 10442967
Change-Id: I384c1d85c58c96ae29d5daa1fabee9f4ce003501

services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp

index dcad390..cde1e3a 100644 (file)
@@ -116,7 +116,11 @@ void GLES20RenderEngine::setupLayerBlending(
 }
 
 void GLES20RenderEngine::setupDimLayerBlending(int alpha) {
-    mState.setPlaneAlpha(alpha / 255.0f);
+    mState.setPlaneAlpha(1.0f);
+    mState.setPremultipliedAlpha(true);
+    mState.setOpaque(false);
+    mState.setColor(0, 0, 0, alpha/255.0f);
+    mState.disableTexture();
 
     if (alpha == 0xFF) {
         glDisable(GL_BLEND);
@@ -124,7 +128,6 @@ void GLES20RenderEngine::setupDimLayerBlending(int alpha) {
         glEnable(GL_BLEND);
         glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
     }
-    disableTexturing();
 }
 
 void GLES20RenderEngine::setupLayerTexturing(const Texture& texture) {