From e4f244e26b850cabbbb208e105d2df6bce2b2db2 Mon Sep 17 00:00:00 2001 From: Yichi Chen Date: Thu, 21 May 2020 20:30:14 +0800 Subject: [PATCH] gralloc4-vts: Allow getFromBufferDescriptorInfo return unsupported MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to the definition of getFromBufferDescriptorInfo, UNSUPPORTED should be returned if the requested metadata is not defined until a buffer has been allocated. Before we clarify the necessary metadata, the patch allows all of them return unsupported. Bug: 155626288 Test: VtsHalGraphicsMapperV4_0Target Change-Id: I42a3b07b0b60ca555ebe949bbac0dd68d4e06231 --- .../VtsHalGraphicsMapperV4_0TargetTest.cpp | 92 ++++++++++++++----- 1 file changed, 70 insertions(+), 22 deletions(-) diff --git a/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp b/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp index 9e56534f88..529fb1817a 100644 --- a/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp +++ b/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp @@ -1927,8 +1927,13 @@ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoProtectedContent) { info.usage = BufferUsage::PROTECTED | BufferUsage::COMPOSER_OVERLAY; hidl_vec vec; - ASSERT_EQ(Error::NONE, mGralloc->getFromBufferDescriptorInfo( - info, gralloc4::MetadataType_ProtectedContent, &vec)); + auto err = mGralloc->getFromBufferDescriptorInfo(info, gralloc4::MetadataType_ProtectedContent, + &vec); + if (err == Error::UNSUPPORTED) { + GTEST_SUCCEED() << "setting this metadata is unsupported"; + return; + } + ASSERT_EQ(err, Error::NONE); uint64_t protectedContent = 0; ASSERT_EQ(NO_ERROR, gralloc4::decodeProtectedContent(vec, &protectedContent)); @@ -1943,8 +1948,13 @@ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoCompression) { info.usage = static_cast(BufferUsage::CPU_WRITE_OFTEN | BufferUsage::CPU_READ_OFTEN); hidl_vec vec; - ASSERT_EQ(Error::NONE, mGralloc->getFromBufferDescriptorInfo( - info, gralloc4::MetadataType_Compression, &vec)); + auto err = + mGralloc->getFromBufferDescriptorInfo(info, gralloc4::MetadataType_Compression, &vec); + if (err == Error::UNSUPPORTED) { + GTEST_SUCCEED() << "setting this metadata is unsupported"; + return; + } + ASSERT_EQ(err, Error::NONE); ExtendableType compression = gralloc4::Compression_DisplayStreamCompression; ASSERT_EQ(NO_ERROR, gralloc4::decodeCompression(vec, &compression)); @@ -1958,8 +1968,13 @@ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoCompression) { */ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoInterlaced) { hidl_vec vec; - ASSERT_EQ(Error::NONE, mGralloc->getFromBufferDescriptorInfo( - mDummyDescriptorInfo, gralloc4::MetadataType_Interlaced, &vec)); + auto err = mGralloc->getFromBufferDescriptorInfo(mDummyDescriptorInfo, + gralloc4::MetadataType_Interlaced, &vec); + if (err == Error::UNSUPPORTED) { + GTEST_SUCCEED() << "setting this metadata is unsupported"; + return; + } + ASSERT_EQ(err, Error::NONE); ExtendableType interlaced = gralloc4::Interlaced_TopBottom; ASSERT_EQ(NO_ERROR, gralloc4::decodeInterlaced(vec, &interlaced)); @@ -1973,9 +1988,13 @@ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoInterlaced) { */ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoChromaSiting) { hidl_vec vec; - ASSERT_EQ(Error::NONE, - mGralloc->getFromBufferDescriptorInfo(mDummyDescriptorInfo, - gralloc4::MetadataType_ChromaSiting, &vec)); + auto err = mGralloc->getFromBufferDescriptorInfo(mDummyDescriptorInfo, + gralloc4::MetadataType_ChromaSiting, &vec); + if (err == Error::UNSUPPORTED) { + GTEST_SUCCEED() << "setting this metadata is unsupported"; + return; + } + ASSERT_EQ(err, Error::NONE); ExtendableType chromaSiting = gralloc4::ChromaSiting_CositedHorizontal; ASSERT_EQ(NO_ERROR, gralloc4::decodeChromaSiting(vec, &chromaSiting)); @@ -2009,8 +2028,12 @@ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoCrop) { info.usage = static_cast(BufferUsage::CPU_WRITE_OFTEN | BufferUsage::CPU_READ_OFTEN); hidl_vec vec; - ASSERT_EQ(Error::NONE, - mGralloc->getFromBufferDescriptorInfo(info, gralloc4::MetadataType_Crop, &vec)); + auto err = mGralloc->getFromBufferDescriptorInfo(info, gralloc4::MetadataType_Crop, &vec); + if (err == Error::UNSUPPORTED) { + GTEST_SUCCEED() << "setting this metadata is unsupported"; + return; + } + ASSERT_EQ(err, Error::NONE); std::vector crops; ASSERT_EQ(NO_ERROR, gralloc4::decodeCrop(vec, &crops)); @@ -2022,8 +2045,13 @@ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoCrop) { */ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoDataspace) { hidl_vec vec; - ASSERT_EQ(Error::NONE, mGralloc->getFromBufferDescriptorInfo( - mDummyDescriptorInfo, gralloc4::MetadataType_Dataspace, &vec)); + auto err = mGralloc->getFromBufferDescriptorInfo(mDummyDescriptorInfo, + gralloc4::MetadataType_Dataspace, &vec); + if (err == Error::UNSUPPORTED) { + GTEST_SUCCEED() << "setting this metadata is unsupported"; + return; + } + ASSERT_EQ(err, Error::NONE); Dataspace dataspace = Dataspace::DISPLAY_P3; ASSERT_EQ(NO_ERROR, gralloc4::decodeDataspace(vec, &dataspace)); @@ -2035,8 +2063,13 @@ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoDataspace) { */ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoBlendMode) { hidl_vec vec; - ASSERT_EQ(Error::NONE, mGralloc->getFromBufferDescriptorInfo( - mDummyDescriptorInfo, gralloc4::MetadataType_BlendMode, &vec)); + auto err = mGralloc->getFromBufferDescriptorInfo(mDummyDescriptorInfo, + gralloc4::MetadataType_BlendMode, &vec); + if (err == Error::UNSUPPORTED) { + GTEST_SUCCEED() << "setting this metadata is unsupported"; + return; + } + ASSERT_EQ(err, Error::NONE); BlendMode blendMode = BlendMode::COVERAGE; ASSERT_EQ(NO_ERROR, gralloc4::decodeBlendMode(vec, &blendMode)); @@ -2048,8 +2081,13 @@ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoBlendMode) { */ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoSmpte2086) { hidl_vec vec; - ASSERT_EQ(Error::NONE, mGralloc->getFromBufferDescriptorInfo( - mDummyDescriptorInfo, gralloc4::MetadataType_Smpte2086, &vec)); + auto err = mGralloc->getFromBufferDescriptorInfo(mDummyDescriptorInfo, + gralloc4::MetadataType_Smpte2086, &vec); + if (err == Error::UNSUPPORTED) { + GTEST_SUCCEED() << "setting this metadata is unsupported"; + return; + } + ASSERT_EQ(err, Error::NONE); std::optional smpte2086; ASSERT_EQ(NO_ERROR, gralloc4::decodeSmpte2086(vec, &smpte2086)); @@ -2061,8 +2099,13 @@ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoSmpte2086) { */ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoCta861_3) { hidl_vec vec; - ASSERT_EQ(Error::NONE, mGralloc->getFromBufferDescriptorInfo( - mDummyDescriptorInfo, gralloc4::MetadataType_Cta861_3, &vec)); + auto err = mGralloc->getFromBufferDescriptorInfo(mDummyDescriptorInfo, + gralloc4::MetadataType_Cta861_3, &vec); + if (err == Error::UNSUPPORTED) { + GTEST_SUCCEED() << "setting this metadata is unsupported"; + return; + } + ASSERT_EQ(err, Error::NONE); std::optional cta861_3; ASSERT_EQ(NO_ERROR, gralloc4::decodeCta861_3(vec, &cta861_3)); @@ -2074,9 +2117,14 @@ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoCta861_3) { */ TEST_P(GraphicsMapperHidlTest, GetFromBufferDescriptorInfoSmpte2094_40) { hidl_vec vec; - ASSERT_EQ(Error::NONE, - mGralloc->getFromBufferDescriptorInfo(mDummyDescriptorInfo, - gralloc4::MetadataType_Smpte2094_40, &vec)); + auto err = mGralloc->getFromBufferDescriptorInfo(mDummyDescriptorInfo, + gralloc4::MetadataType_Smpte2094_40, &vec); + if (err == Error::UNSUPPORTED) { + GTEST_SUCCEED() << "setting this metadata is unsupported"; + return; + } + ASSERT_EQ(err, Error::NONE); + std::optional> smpte2094_40; ASSERT_EQ(NO_ERROR, gralloc4::decodeSmpte2094_40(vec, &smpte2094_40)); EXPECT_FALSE(smpte2094_40.has_value());