diff options
author | 2018-05-17 19:48:41 +0000 | |
---|---|---|
committer | 2018-05-17 19:48:41 +0000 | |
commit | 1236c388170f352adf9c9a3347de4560995c20b1 (patch) | |
tree | c7ad5df4bb6f965017bcb2a9bddf6e8478ae59ab | |
parent | 891f1c0c807f6ffe6e5f02f059c88f6869386ce4 (diff) | |
parent | 9b03c73e2cc97b6d3cc3e20e16b1edbeda9a1a13 (diff) |
Merge "[RenderEngine] Convert BT2020 to SRGB by default." into pi-dev
-rw-r--r-- | services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp | 8 | ||||
-rw-r--r-- | services/surfaceflinger/RenderEngine/GLES20RenderEngine.h | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp b/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp index aca6c7b805..90404fae6b 100644 --- a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp +++ b/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp @@ -147,6 +147,7 @@ GLES20RenderEngine::GLES20RenderEngine(uint32_t featureFlags) mSrgbToXyz = srgb.getRGBtoXYZ(); mDisplayP3ToXyz = displayP3.getRGBtoXYZ(); mBt2020ToXyz = bt2020.getRGBtoXYZ(); + mXyzToSrgb = mat4(srgb.getXYZtoRGB()); mXyzToDisplayP3 = mat4(displayP3.getXYZtoRGB()); mXyzToBt2020 = mat4(bt2020.getXYZtoRGB()); } @@ -347,14 +348,17 @@ void GLES20RenderEngine::drawMesh(const Mesh& mesh) { break; } - // The supported output color spaces are Display P3 and BT2020. + // The supported output color spaces are BT2020, Display P3 and standard RGB. switch (outputStandard) { case Dataspace::STANDARD_BT2020: wideColorState.setOutputTransformMatrix(mXyzToBt2020); break; - default: + case Dataspace::STANDARD_DCI_P3: wideColorState.setOutputTransformMatrix(mXyzToDisplayP3); break; + default: + wideColorState.setOutputTransformMatrix(mXyzToSrgb); + break; } } else if (inputStandard != outputStandard) { // At this point, the input data space and output data space could be both diff --git a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.h b/services/surfaceflinger/RenderEngine/GLES20RenderEngine.h index 84a48136b0..de5761b9b0 100644 --- a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.h +++ b/services/surfaceflinger/RenderEngine/GLES20RenderEngine.h @@ -103,6 +103,7 @@ protected: mat3 mSrgbToXyz; mat3 mBt2020ToXyz; mat3 mDisplayP3ToXyz; + mat4 mXyzToSrgb; mat4 mXyzToDisplayP3; mat4 mXyzToBt2020; |