summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2020-08-29 01:06:16 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-08-29 01:06:16 +0000
commit6f94260396731ef54a503d7c8a6b9a40eca2bd44 (patch)
tree97b5af4f543a79ac68f29d3f76a0d575287c11f5
parent653ae188b00bb34b9ac34a0e67b0f8134d3e33e5 (diff)
parent6f3c0bb2727718bcf08cfe9d23f8106eb63cad19 (diff)
downloadnative-6f94260396731ef54a503d7c8a6b9a40eca2bd44.tar.gz
Merge "[RenderEngine] correct alpha blending func"
-rw-r--r--libs/renderengine/gl/GLESRenderEngine.cpp3
-rw-r--r--libs/renderengine/tests/RenderEngineTest.cpp2
2 files changed, 3 insertions, 2 deletions
diff --git a/libs/renderengine/gl/GLESRenderEngine.cpp b/libs/renderengine/gl/GLESRenderEngine.cpp
index 2b83a28157..056df5ead8 100644
--- a/libs/renderengine/gl/GLESRenderEngine.cpp
+++ b/libs/renderengine/gl/GLESRenderEngine.cpp
@@ -1129,7 +1129,8 @@ void GLESRenderEngine::setupLayerBlending(bool premultipliedAlpha, bool opaque,
if (color.a < 1.0f || !opaque || cornerRadius > 0.0f) {
glEnable(GL_BLEND);
- glBlendFunc(premultipliedAlpha ? GL_ONE : GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glBlendFuncSeparate(premultipliedAlpha ? GL_ONE : GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA,
+ GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
} else {
glDisable(GL_BLEND);
}
diff --git a/libs/renderengine/tests/RenderEngineTest.cpp b/libs/renderengine/tests/RenderEngineTest.cpp
index f47c7fd053..fce5e69e5b 100644
--- a/libs/renderengine/tests/RenderEngineTest.cpp
+++ b/libs/renderengine/tests/RenderEngineTest.cpp
@@ -734,7 +734,7 @@ void RenderEngineTest::fillRedBufferWithoutPremultiplyAlpha() {
void RenderEngineTest::fillBufferWithoutPremultiplyAlpha() {
fillRedBufferWithoutPremultiplyAlpha();
- expectBufferColor(fullscreenRect(), 128, 0, 0, 64, 1);
+ expectBufferColor(fullscreenRect(), 128, 0, 0, 128, 1);
}
void RenderEngineTest::clearLeftRegion() {