diff options
| author | 2018-02-02 11:34:16 -0800 | |
|---|---|---|
| committer | 2018-02-02 14:20:54 -0800 | |
| commit | b0094482efbe00ccdc3e211cd9f035d77e0ccbcc (patch) | |
| tree | 83683e4795f1811d94696f820da9fb09d40dc8a2 | |
| parent | 0d3890a91fcc9e3c7c37c252294a6480c2638d30 (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.cpp | 5 |
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); |