summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Peiyong Lin <lpy@google.com> 2018-02-02 11:34:16 -0800
committer Peiyong Lin <lpy@google.com> 2018-02-02 14:20:54 -0800
commitb0094482efbe00ccdc3e211cd9f035d77e0ccbcc (patch)
tree83683e4795f1811d94696f820da9fb09d40dc8a2
parent0d3890a91fcc9e3c7c37c252294a6480c2638d30 (diff)
[RenderEngine] Support extended SRGB transform.
Previously RenderEngine didn't support linear extended SRGB transform, results in color faded-out, darker image in Photos. This patch adds support for linear extended SRGB transform. BUG: 72810755 Test: Build, flash and test with Photos Change-Id: I071ae090a22a4727d6a20b41952f6281ed678260
-rw-r--r--services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp b/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp
index 5133bacc2d..34d968df6b 100644
--- a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp
+++ b/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp
@@ -330,6 +330,11 @@ void GLES20RenderEngine::drawMesh(const Mesh& mesh) {
case HAL_DATASPACE_DISPLAY_P3:
// input matches output
break;
+ case HAL_DATASPACE_V0_SCRGB_LINEAR:
+ wideColorState.setColorMatrix(mState.getColorMatrix() * mSrgbToDisplayP3);
+ wideColorState.setInputTransferFunction(Description::TransferFunction::LINEAR);
+ wideColorState.setOutputTransferFunction(Description::TransferFunction::SRGB);
+ break;
case HAL_DATASPACE_BT2020_PQ:
case HAL_DATASPACE_BT2020_ITU_PQ:
wideColorState.setColorMatrix(mState.getColorMatrix() * mBt2020ToDisplayP3);