mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Add stride query
Fixes: 261856851 Test: VtsHalGraphicsMapperStableC_TargetTest Change-Id: Ib49df2d46dd55848c4854179bd6205c86c232a6d
This commit is contained in:
@@ -18,13 +18,17 @@ package android.hardware.graphics.allocator;
|
||||
|
||||
import android.hardware.common.NativeHandle;
|
||||
|
||||
/**
|
||||
/**
|
||||
* Result of an IAllocator::allocate call.
|
||||
*
|
||||
* @sa +ndk libnativewindow#AHardwareBuffer_Desc
|
||||
*/
|
||||
@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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,4 +58,5 @@ enum StandardMetadataType {
|
||||
CTA861_3 = 20,
|
||||
SMPTE2094_40 = 21,
|
||||
SMPTE2094_10 = 22,
|
||||
STRIDE = 23,
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user