mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 05:49:27 +00:00
graphics: COLORIMETRIC is optional for HDR modes
Bug: 80030364 Test: VTS Change-Id: I2180f18e8742850f728491887475f16b1cad4791 Merged-In: I2180f18e8742850f728491887475f16b1cad4791
This commit is contained in:
@@ -342,7 +342,7 @@ a830336ac8627d6432cfafb1b884343ad9f885dee0a5323e380e6d3c519156b8 android.hardwar
|
||||
0b96e0254e2168cfecb30c1ed5fb42681652cc00faa68c6e07568fafe64d1d50 android.hardware.graphics.common@1.1::types
|
||||
7d2cef99c838fb58038de8bbfd3cdb76ff4797241987077721715297f8d45e34 android.hardware.graphics.common@1.1::types # b/78135149
|
||||
d9b40a5b09962a5a0780b10fe33a4e607e69e2e088fc83de88a584115b7cb1c0 android.hardware.graphics.composer@2.2::IComposer
|
||||
e7717f2ff2f6db43b24370ff08e14cd353da3004b32b17740e4a7ed4894b7e45 android.hardware.graphics.composer@2.2::IComposerClient
|
||||
a2f183f7fcc79aabedaef11095ab223aac0ed5ef984d850893872515e7f560c7 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
|
||||
|
||||
@@ -292,9 +292,16 @@ TEST_F(GraphicsComposerHidlTest, SetActiveConfig) {
|
||||
* Test that IComposerClient::setColorMode succeeds for all color modes.
|
||||
*/
|
||||
TEST_F(GraphicsComposerHidlTest, SetColorMode) {
|
||||
std::unordered_set<ColorMode> validModes;
|
||||
for (auto mode : hidl_enum_iterator<ColorMode>()) {
|
||||
validModes.insert(mode);
|
||||
}
|
||||
|
||||
std::vector<ColorMode> modes = mComposerClient->getColorModes(mPrimaryDisplay);
|
||||
for (auto mode : modes) {
|
||||
mComposerClient->setColorMode(mPrimaryDisplay, mode);
|
||||
if (validModes.count(mode)) {
|
||||
mComposerClient->setColorMode(mPrimaryDisplay, mode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -355,7 +355,8 @@ interface IComposerClient extends @2.1::IComposerClient {
|
||||
* Returns the render intents supported by the specified display and color
|
||||
* mode.
|
||||
*
|
||||
* RenderIntent::COLORIMETRIC is always supported.
|
||||
* For SDR color modes, RenderIntent::COLORIMETRIC must be supported. For
|
||||
* HDR color modes, RenderIntent::TONE_MAP_COLORIMETRIC must be supported.
|
||||
*
|
||||
* @param display is the display to query.
|
||||
* @param mode is the color mode to query.
|
||||
|
||||
@@ -347,9 +347,22 @@ TEST_F(GraphicsComposerHidlTest, GetRenderIntent) {
|
||||
for (auto mode : modes) {
|
||||
std::vector<RenderIntent> intents =
|
||||
mComposerClient->getRenderIntents(mPrimaryDisplay, mode);
|
||||
auto colorimetricIntent =
|
||||
std::find(intents.cbegin(), intents.cend(), RenderIntent::COLORIMETRIC);
|
||||
EXPECT_NE(intents.cend(), colorimetricIntent);
|
||||
|
||||
bool isHdr;
|
||||
switch (mode) {
|
||||
case ColorMode::BT2100_PQ:
|
||||
case ColorMode::BT2100_HLG:
|
||||
isHdr = true;
|
||||
break;
|
||||
default:
|
||||
isHdr = false;
|
||||
break;
|
||||
}
|
||||
RenderIntent requiredIntent =
|
||||
isHdr ? RenderIntent::TONE_MAP_COLORIMETRIC : RenderIntent::COLORIMETRIC;
|
||||
|
||||
auto iter = std::find(intents.cbegin(), intents.cend(), requiredIntent);
|
||||
EXPECT_NE(intents.cend(), iter);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user