Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c2cfc93 authored by John Reck's avatar John Reck
Browse files

Add stride query

Fixes: 261856851
Test: VtsHalGraphicsMapperStableC_TargetTest

Change-Id: Ib49df2d46dd55848c4854179bd6205c86c232a6d
parent 83ea817a
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -25,6 +25,10 @@ import android.hardware.common.NativeHandle;
 */
@VintfStability
parcelable AllocationResult {
    /**
     * The number of pixels between two consecutive rows of an allocated buffer, when the concept
     * of consecutive rows is defined. Otherwise, it has no meaning.
     */
    int stride;
    NativeHandle[] buffers;
}
+1 −0
Original line number Diff line number Diff line
@@ -58,4 +58,5 @@ enum StandardMetadataType {
  CTA861_3 = 20,
  SMPTE2094_40 = 21,
  SMPTE2094_10 = 22,
  STRIDE = 23,
}
+13 −0
Original line number Diff line number Diff line
@@ -368,4 +368,17 @@ enum StandardMetadataType {
     * If this is unset when encoded into a byte stream, the byte stream is empty.
     */
    SMPTE2094_10 = 22,

    /**
     * Can be used to get the stride in pixels of the buffer allocation. This is the number of
     * pixels between two consecutive rows of an allocated buffer, when the concept of consecutive
     * rows is defined. Otherwise, it has no meaning.
     *
     * Must match the value returned in android.hardware.graphics.allocator.AllocationResult#stride
     *
     * This is required metadata in mapper5 and should be read-only.
     *
     * The metadata type is a uint32_t.
     */
    STRIDE = 23,
}
+1 −0
Original line number Diff line number Diff line
@@ -563,6 +563,7 @@ DEFINE_TYPE(SMPTE2086, std::optional<Smpte2086>);
DEFINE_TYPE(CTA861_3, std::optional<Cta861_3>);
DEFINE_TYPE(SMPTE2094_10, std::optional<std::vector<uint8_t>>);
DEFINE_TYPE(SMPTE2094_40, std::optional<std::vector<uint8_t>>);
DEFINE_TYPE(STRIDE, uint32_t);

#undef DEFINE_TYPE

+11 −0
Original line number Diff line number Diff line
@@ -1557,6 +1557,16 @@ TEST_P(GraphicsMapperStableCTests, GetSmpte2094_40) {
    }
}

TEST_P(GraphicsMapperStableCTests, GetStride) {
    auto buffer = allocateGeneric();
    ASSERT_TRUE(buffer);
    auto bufferHandle = buffer->import();
    ASSERT_TRUE(bufferHandle);
    auto value = getStandardMetadata<StandardMetadataType::STRIDE>(*bufferHandle);
    ASSERT_TRUE(value.has_value());
    EXPECT_EQ(buffer->stride(), *value);
}

TEST_P(GraphicsMapperStableCTests, SupportsRequiredGettersSetters) {
    auto buffer = allocateGeneric();
    ASSERT_TRUE(buffer);
@@ -1587,6 +1597,7 @@ TEST_P(GraphicsMapperStableCTests, SupportsRequiredGettersSetters) {
            StandardMetadataType::BLEND_MODE,
            StandardMetadataType::SMPTE2086,
            StandardMetadataType::CTA861_3,
            StandardMetadataType::STRIDE,
    };

    std::vector<StandardMetadataType> requiredSetters = {