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 e2f69f2228.

Change-Id: I38ac5cafeb6a07e683352c8d297892a681e24702
This commit is contained in:
Kevin DuBois
2019-01-25 11:06:13 -08:00
parent 63ac54a4ed
commit 1ec0b52d17
10 changed files with 31 additions and 16 deletions

View File

@@ -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;

View File

@@ -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) {

View File

@@ -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())

View File

@@ -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,
};

View File

@@ -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;

View File

@@ -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 =

View File

@@ -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;

View File

@@ -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,

View File

@@ -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;

View File

@@ -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);