Merge "Readback tests from VtsHalGraphicsComposerV2_2TargetTest VTS 2.2"
diff --git a/camera/device/3.8/types.hal b/camera/device/3.8/types.hal
index 6daa0e1..843d050 100644
--- a/camera/device/3.8/types.hal
+++ b/camera/device/3.8/types.hal
@@ -35,8 +35,9 @@
/**
* Timestamp for the capture readout. This must be in the same time domain
- * as v3_2.timestamp, and the value must be v3_2.timestamp + exposureTime
- * for a rolling shutter sensor.
+ * as v3_2.timestamp, and for a rolling shutter sensor, the value must be
+ * v3_2.timestamp + exposureTime + t_crop_top where t_crop_top is the exposure time
+ * skew of the cropped lines on the top.
*/
uint64_t readoutTimestamp;
};
diff --git a/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp b/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp
index ff8cd49..77974fc 100644
--- a/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp
+++ b/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp
@@ -4796,15 +4796,24 @@
ASSERT_EQ(testStream.id, inflightReq.resultOutputBuffers[0].streamId);
// For camera device 3.8 or newer, shutterReadoutTimestamp must be
- // available, and it must be shutterTimestamp + exposureTime.
+ // available, and it must be >= shutterTimestamp + exposureTime, and
+ // < shutterTimestamp + exposureTime + rollingShutterSkew / 2.
if (deviceVersion >= CAMERA_DEVICE_API_VERSION_3_8) {
ASSERT_TRUE(inflightReq.shutterReadoutTimestampValid);
ASSERT_FALSE(inflightReq.collectedResult.isEmpty());
if (inflightReq.collectedResult.exists(ANDROID_SENSOR_EXPOSURE_TIME)) {
camera_metadata_entry_t exposureTimeResult = inflightReq.collectedResult.find(
ANDROID_SENSOR_EXPOSURE_TIME);
- ASSERT_EQ(inflightReq.shutterReadoutTimestamp - inflightReq.shutterTimestamp,
- exposureTimeResult.data.i64[0]);
+ nsecs_t exposureToReadout =
+ inflightReq.shutterReadoutTimestamp - inflightReq.shutterTimestamp;
+ ASSERT_GE(exposureToReadout, exposureTimeResult.data.i64[0]);
+ if (inflightReq.collectedResult.exists(ANDROID_SENSOR_ROLLING_SHUTTER_SKEW)) {
+ camera_metadata_entry_t rollingShutterSkew =
+ inflightReq.collectedResult.find(
+ ANDROID_SENSOR_ROLLING_SHUTTER_SKEW);
+ ASSERT_LT(exposureToReadout, exposureTimeResult.data.i64[0] +
+ rollingShutterSkew.data.i64[0] / 2);
+ }
}
}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/ReadbackVts.cpp b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/ReadbackVts.cpp
index e832cb7..b612309 100644
--- a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/ReadbackVts.cpp
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/ReadbackVts.cpp
@@ -274,7 +274,7 @@
TestBufferLayer::TestBufferLayer(const std::shared_ptr<IComposerClient>& client,
const ::android::sp<::android::GraphicBuffer>& graphicBuffer,
- TestRenderEngine& renderEngine, int32_t display, uint32_t width,
+ TestRenderEngine& renderEngine, int64_t display, uint32_t width,
uint32_t height, common::PixelFormat format,
Composition composition)
: TestLayer{client, display}, mRenderEngine(renderEngine) {
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/include/ReadbackVts.h b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/include/ReadbackVts.h
index 58989d8..85b4fdc 100644
--- a/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/include/ReadbackVts.h
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/vts/functional/composer-vts/include/ReadbackVts.h
@@ -53,7 +53,7 @@
class TestLayer {
public:
- TestLayer(const std::shared_ptr<IComposerClient>& client, int32_t display)
+ TestLayer(const std::shared_ptr<IComposerClient>& client, int64_t display)
: mComposerClient(client) {
client->createLayer(display, kBufferSlotCount, &mLayer);
}
@@ -100,7 +100,7 @@
class TestColorLayer : public TestLayer {
public:
- TestColorLayer(const std::shared_ptr<IComposerClient>& client, int32_t display)
+ TestColorLayer(const std::shared_ptr<IComposerClient>& client, int64_t display)
: TestLayer{client, display} {}
void write(const std::shared_ptr<CommandWriterBase>& writer) override;
@@ -117,7 +117,7 @@
public:
TestBufferLayer(const std::shared_ptr<IComposerClient>& client,
const ::android::sp<::android::GraphicBuffer>& graphicBuffer,
- TestRenderEngine& renderEngine, int32_t display, uint32_t width,
+ TestRenderEngine& renderEngine, int64_t display, uint32_t width,
uint32_t height, common::PixelFormat format,
Composition composition = Composition::DEVICE);
diff --git a/media/omx/1.0/vts/OWNERS b/media/omx/1.0/vts/OWNERS
index e0e0dd1..9e390c2 100644
--- a/media/omx/1.0/vts/OWNERS
+++ b/media/omx/1.0/vts/OWNERS
@@ -1,7 +1,5 @@
+# Bug component: 25690
# Media team
-pawin@google.com
+taklee@google.com
+wonsik@google.com
lajos@google.com
-
-# VTS team
-yim@google.com
-zhuoyao@google.com
\ No newline at end of file
diff --git a/neuralnetworks/aidl/vts/functional/Android.bp b/neuralnetworks/aidl/vts/functional/Android.bp
index a102fe0..1ed15b8 100644
--- a/neuralnetworks/aidl/vts/functional/Android.bp
+++ b/neuralnetworks/aidl/vts/functional/Android.bp
@@ -60,6 +60,7 @@
"libsync",
],
whole_static_libs: [
+ "neuralnetworks_generated_AIDL_V3_example",
"neuralnetworks_generated_AIDL_V2_example",
"neuralnetworks_generated_V1_0_example",
"neuralnetworks_generated_V1_1_example",