diff options
author | Kevin DuBois <kevindubois@google.com> | 2019-01-22 10:22:37 -0800 |
---|---|---|
committer | Kevin DuBois <kevindubois@google.com> | 2019-01-24 10:05:28 -0800 |
commit | 97e1a932ec52ce49e4c51527a6fce78bfa810294 (patch) | |
tree | b1cc289bc01aa7708a4d272ab78b909df152eead | |
parent | 62da080e00a1f76b9a230206da5042e64b7f58a3 (diff) |
graphics.common: add HSV format definition to 1.2
Adds HSV format used in some color sampling engines to the list
of pixel formats. Rev the sampling engine in composer to reference
the new format revision.
Test: built image, with new format reported in vendor code.
Test: VtsHalGraphicsComposerV2_3TargetTest
Fixes: 122943743
Change-Id: I1b454a86f464f38e3c2cbeef5379a187ff38ab06
10 files changed, 31 insertions, 16 deletions
diff --git a/configstore/1.2/ISurfaceFlingerConfigs.hal b/configstore/1.2/ISurfaceFlingerConfigs.hal index 7e5f706c02..431b3fc479 100644 --- a/configstore/1.2/ISurfaceFlingerConfigs.hal +++ b/configstore/1.2/ISurfaceFlingerConfigs.hal @@ -15,7 +15,7 @@ */ package android.hardware.configstore@1.2; -import android.hardware.graphics.common@1.1::PixelFormat; +import android.hardware.graphics.common@1.2::PixelFormat; import android.hardware.graphics.common@1.2::Dataspace; import @1.1::ISurfaceFlingerConfigs; import @1.0::OptionalBool; diff --git a/configstore/1.2/default/SurfaceFlingerConfigs.cpp b/configstore/1.2/default/SurfaceFlingerConfigs.cpp index d38b402889..714442bd22 100644 --- a/configstore/1.2/default/SurfaceFlingerConfigs.cpp +++ b/configstore/1.2/default/SurfaceFlingerConfigs.cpp @@ -27,8 +27,8 @@ namespace configstore { namespace V1_2 { namespace implementation { -using ::android::hardware::graphics::common::V1_1::PixelFormat; using ::android::hardware::graphics::common::V1_2::Dataspace; +using ::android::hardware::graphics::common::V1_2::PixelFormat; // ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs implementation. Return<void> SurfaceFlingerConfigs::vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) { diff --git a/configstore/1.2/vts/functional/VtsHalConfigstoreV1_2TargetTest.cpp b/configstore/1.2/vts/functional/VtsHalConfigstoreV1_2TargetTest.cpp index 881b591284..d7f4dcf75f 100644 --- a/configstore/1.2/vts/functional/VtsHalConfigstoreV1_2TargetTest.cpp +++ b/configstore/1.2/vts/functional/VtsHalConfigstoreV1_2TargetTest.cpp @@ -31,10 +31,10 @@ using ::android::hardware::Void; using ::android::hardware::configstore::V1_0::OptionalBool; using ::android::hardware::configstore::V1_0::OptionalInt64; using ::android::hardware::configstore::V1_0::OptionalUInt64; -using ::android::hardware::configstore::V1_2::ISurfaceFlingerConfigs; using ::android::hardware::configstore::V1_2::DisplayPrimaries; -using ::android::hardware::graphics::common::V1_1::PixelFormat; +using ::android::hardware::configstore::V1_2::ISurfaceFlingerConfigs; using ::android::hardware::graphics::common::V1_2::Dataspace; +using ::android::hardware::graphics::common::V1_2::PixelFormat; #define ASSERT_OK(ret) ASSERT_TRUE(ret.isOk()) #define EXPECT_OK(ret) EXPECT_TRUE(ret.isOk()) diff --git a/graphics/common/1.2/types.hal b/graphics/common/1.2/types.hal index 392a12e2e4..c9c3aeb972 100644 --- a/graphics/common/1.2/types.hal +++ b/graphics/common/1.2/types.hal @@ -25,7 +25,8 @@ import @1.1::PixelFormat; /** * Hdr */ -@export(name="android_hdr_v1_2_t", value_prefix="HAL_HDR_") +@export(name="android_hdr_v1_2_t", value_prefix="HAL_HDR_", + export_parent="false") enum Hdr : @1.0::Hdr { HDR10_PLUS = 4, }; @@ -96,3 +97,18 @@ struct HardwareBuffer { */ typedef int32_t[4] Rect; +/** + * Pixel formats for graphics buffers. + */ +@export(name="android_pixel_format_v1_2_t", value_prefix="HAL_PIXEL_FORMAT_", + export_parent="false") +enum PixelFormat : @1.1::PixelFormat { + /** + * 24-bit format that has 8-bit H, S, and V components, in that order, + * from the lowest memory address to the highest memory address. + * + * The component values are unsigned normalized to the range [0, 1], whose + * interpretation is defined by the dataspace. + */ + HSV_888 = 0x37, +}; diff --git a/graphics/composer/2.3/IComposerClient.hal b/graphics/composer/2.3/IComposerClient.hal index cf78dea532..a3b7792c05 100644 --- a/graphics/composer/2.3/IComposerClient.hal +++ b/graphics/composer/2.3/IComposerClient.hal @@ -17,7 +17,7 @@ package android.hardware.graphics.composer@2.3; import android.hardware.graphics.common@1.1::RenderIntent; -import android.hardware.graphics.common@1.1::PixelFormat; +import android.hardware.graphics.common@1.2::PixelFormat; import android.hardware.graphics.common@1.2::ColorMode; import android.hardware.graphics.common@1.2::Dataspace; import android.hardware.graphics.common@1.2::Hdr; diff --git a/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerClient.h b/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerClient.h index edc203eb1d..a272e72d74 100644 --- a/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerClient.h +++ b/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerClient.h @@ -123,7 +123,7 @@ class ComposerClientImpl : public V2_2::hal::detail::ComposerClientImpl<Interfac Return<void> getDisplayedContentSamplingAttributes( uint64_t display, IComposerClient::getDisplayedContentSamplingAttributes_cb hidl_cb) override { - common::V1_1::PixelFormat format; + PixelFormat format; common::V1_2::Dataspace dataspace; hidl_bitfield<IComposerClient::FormatColorComponent> componentMask; Error error = diff --git a/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerHal.h b/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerHal.h index 882621f086..a0812ad9a7 100644 --- a/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerHal.h +++ b/graphics/composer/2.3/utils/hal/include/composer-hal/2.3/ComposerHal.h @@ -25,11 +25,11 @@ namespace composer { namespace V2_3 { namespace hal { -using common::V1_1::PixelFormat; using common::V1_1::RenderIntent; using common::V1_2::ColorMode; using common::V1_2::Dataspace; using common::V1_2::Hdr; +using common::V1_2::PixelFormat; using V2_1::Display; using V2_1::Error; using V2_1::Layer; diff --git a/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h b/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h index 9fb6d4bf7d..41e333ac5e 100644 --- a/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h +++ b/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h @@ -34,11 +34,11 @@ namespace passthrough { namespace detail { -using common::V1_1::PixelFormat; using common::V1_1::RenderIntent; using common::V1_2::ColorMode; using common::V1_2::Dataspace; using common::V1_2::Hdr; +using common::V1_2::PixelFormat; using V2_1::Display; using V2_1::Error; @@ -91,14 +91,16 @@ class HwcHalImpl : public V2_2::passthrough::detail::HwcHalImpl<Hal> { Error getClientTargetSupport_2_3(Display display, uint32_t width, uint32_t height, PixelFormat format, Dataspace dataspace) override { - return getClientTargetSupport_2_2(display, width, height, format, + return getClientTargetSupport_2_2(display, width, height, + static_cast<common::V1_1::PixelFormat>(format), static_cast<common::V1_1::Dataspace>(dataspace)); } Error getReadbackBufferAttributes_2_3(Display display, PixelFormat* outFormat, Dataspace* outDataspace) override { return getReadbackBufferAttributes( - display, outFormat, reinterpret_cast<common::V1_1::Dataspace*>(outDataspace)); + display, reinterpret_cast<common::V1_1::PixelFormat*>(outFormat), + reinterpret_cast<common::V1_1::Dataspace*>(outDataspace)); } Error getDisplayIdentificationData(Display display, uint8_t* outPort, diff --git a/graphics/composer/2.3/utils/vts/include/composer-vts/2.3/ComposerVts.h b/graphics/composer/2.3/utils/vts/include/composer-vts/2.3/ComposerVts.h index 7add322282..ad4ef0b51e 100644 --- a/graphics/composer/2.3/utils/vts/include/composer-vts/2.3/ComposerVts.h +++ b/graphics/composer/2.3/utils/vts/include/composer-vts/2.3/ComposerVts.h @@ -32,11 +32,11 @@ namespace composer { namespace V2_3 { namespace vts { -using common::V1_1::PixelFormat; using common::V1_1::RenderIntent; using common::V1_2::ColorMode; using common::V1_2::Dataspace; using common::V1_2::Hdr; +using common::V1_2::PixelFormat; using V2_1::Display; using V2_1::Error; using V2_3::IComposer; diff --git a/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp b/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp index dca7406c10..de74e28cc7 100644 --- a/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp +++ b/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp @@ -36,10 +36,10 @@ namespace vts { namespace { using common::V1_0::BufferUsage; -using common::V1_1::PixelFormat; using common::V1_1::RenderIntent; using common::V1_2::ColorMode; using common::V1_2::Dataspace; +using common::V1_2::PixelFormat; using mapper::V2_0::IMapper; using mapper::V2_0::vts::Gralloc; @@ -492,9 +492,6 @@ TEST_F(GraphicsComposerHidlTest, SetLayerColorTransform) { } TEST_F(GraphicsComposerHidlTest, GetDisplayedContentSamplingAttributes) { - using common::V1_1::PixelFormat; - using common::V1_2::Dataspace; - int constexpr invalid = -1; auto format = static_cast<PixelFormat>(invalid); auto dataspace = static_cast<Dataspace>(invalid); |