From 1ec0b52d176ddf41ab3e052917df3d3b7d7e0fa0 Mon Sep 17 00:00:00 2001 From: Kevin DuBois Date: Fri, 25 Jan 2019 11:06:13 -0800 Subject: [PATCH] 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 Roll-forward of build-breaking topic commit. No changes were needed in this patch. see bug 123404649 for breakage details. This reverts commit e2f69f22289ffadc8dcfdbb476422e194442253a. Change-Id: I38ac5cafeb6a07e683352c8d297892a681e24702 --- configstore/1.2/ISurfaceFlingerConfigs.hal | 2 +- .../1.2/default/SurfaceFlingerConfigs.cpp | 2 +- .../VtsHalConfigstoreV1_2TargetTest.cpp | 4 ++-- graphics/common/1.2/types.hal | 18 +++++++++++++++++- graphics/composer/2.3/IComposerClient.hal | 2 +- .../include/composer-hal/2.3/ComposerClient.h | 2 +- .../hal/include/composer-hal/2.3/ComposerHal.h | 2 +- .../include/composer-passthrough/2.3/HwcHal.h | 8 +++++--- .../vts/include/composer-vts/2.3/ComposerVts.h | 2 +- .../VtsHalGraphicsComposerV2_3TargetTest.cpp | 5 +---- 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 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 getDisplayedContentSamplingAttributes( uint64_t display, IComposerClient::getDisplayedContentSamplingAttributes_cb hidl_cb) override { - common::V1_1::PixelFormat format; + PixelFormat format; common::V1_2::Dataspace dataspace; hidl_bitfield 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 { 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(format), static_cast(dataspace)); } Error getReadbackBufferAttributes_2_3(Display display, PixelFormat* outFormat, Dataspace* outDataspace) override { return getReadbackBufferAttributes( - display, outFormat, reinterpret_cast(outDataspace)); + display, reinterpret_cast(outFormat), + reinterpret_cast(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(invalid); auto dataspace = static_cast(invalid);