From b0094482efbe00ccdc3e211cd9f035d77e0ccbcc Mon Sep 17 00:00:00 2001 From: Peiyong Lin Date: Fri, 2 Feb 2018 11:34:16 -0800 Subject: [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 --- services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp | 5 +++++ 1 file changed, 5 insertions(+) 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); -- cgit v1.2.3-59-g8ed1b