diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2020-08-29 01:06:16 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-08-29 01:06:16 +0000 |
commit | 6f94260396731ef54a503d7c8a6b9a40eca2bd44 (patch) | |
tree | 97b5af4f543a79ac68f29d3f76a0d575287c11f5 | |
parent | 653ae188b00bb34b9ac34a0e67b0f8134d3e33e5 (diff) | |
parent | 6f3c0bb2727718bcf08cfe9d23f8106eb63cad19 (diff) | |
download | native-6f94260396731ef54a503d7c8a6b9a40eca2bd44.tar.gz |
Merge "[RenderEngine] correct alpha blending func"
-rw-r--r-- | libs/renderengine/gl/GLESRenderEngine.cpp | 3 | ||||
-rw-r--r-- | libs/renderengine/tests/RenderEngineTest.cpp | 2 |
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() { |