graphics: allow re-saturation for any legacy dataspace

While our intention is to only re-saturate legacy sRGB, the
re-saturation is usually performed globally by the composer.  To
avoid GPU fallback when, for example, video plays, allow the
re-saturation to be applied on any legacy dataspace.

This also removes the clamping after applying the re-saturation
matrix, allowing the output dataspace to be scRGB.

Bug: 78303195
Bug: 78025845
Test: manual
Change-Id: Ic221401894789fbaf6bad944b49006163238237c
This commit is contained in:
Chia-I Wu
2018-04-20 13:19:13 -07:00
parent adf9e18c01
commit c75e0f0bf9
2 changed files with 4 additions and 5 deletions

View File

@@ -327,7 +327,7 @@ a830336ac8627d6432cfafb1b884343ad9f885dee0a5323e380e6d3c519156b8 android.hardwar
83e7a10ff3702147bd7ffa04567b20d407a3b16bbb7705644af44d919afe9103 android.hardware.gnss@1.1::IGnssMeasurementCallback
0b96e0254e2168cfecb30c1ed5fb42681652cc00faa68c6e07568fafe64d1d50 android.hardware.graphics.common@1.1::types
d9b40a5b09962a5a0780b10fe33a4e607e69e2e088fc83de88a584115b7cb1c0 android.hardware.graphics.composer@2.2::IComposer
c3cd2a3e245ffefae859c9a3d31382a9421be95cfa6bc1231571eb3533049b54 android.hardware.graphics.composer@2.2::IComposerClient
18eff12102db47b03a5fa906f8d4fd9018f0fb9236c663d457b8eac8d57c2937 android.hardware.graphics.composer@2.2::IComposerClient
dd83be076b6b3f10ed62ab34d8c8b95f2415961fb785200eb842e7bfb2b0ee92 android.hardware.graphics.mapper@2.1::IMapper
675682dd3007805c985eaaec91612abc88f4c25b3431fb84070b7584a1a741fb android.hardware.health@2.0::IHealth
434c4c32c00b0e54bb05e40c79503208b40f786a318029a2a4f66e34f10f2a76 android.hardware.health@2.0::IHealthInfoCallback

View File

@@ -383,9 +383,8 @@ interface IComposerClient extends @2.1::IComposerClient {
* By default, layer dataspaces are mapped to the current color mode
* colorimetrically with a few exceptions.
*
* When the layer dataspace is a legacy sRGB dataspace
* (Dataspace::SRGB_LINEAR, Dataspace::SRGB, or Dataspace::UNKNOWN when
* treated as such) and the display render intent is
* When the layer dataspace is a legacy dataspace (see
* common@1.1::Dataspace) and the display render intent is
* RenderIntent::ENHANCE, the pixel values can go through an
* implementation-defined saturation transform before being mapped to the
* current color mode colorimetrically.
@@ -402,7 +401,7 @@ interface IComposerClient extends @2.1::IComposerClient {
* this:
*
* (in GLSL)
* linearSrgb = clamp(saturationMatrix * linearSrgb, 0.0, 1.0);
* linearSrgb = saturationMatrix * linearSrgb;
*
* @param dataspace must be Dataspace::SRGB_LINEAR.
* @return error is NONE upon success. Otherwise,