Enable gralloc direct channel support for accel, gyro and mag
Enable gralloc direct channel support for accelerometer, gyroscope
and magnetometer sensors.
Bug: 30985702
Test: cts-tradefed run cts --module CtsSensorTestCases
--test android.hardware.cts.SensorDirectReportTest
Test: cts-tradefed run cts --module CtsSensorTestCases
--test android.hardware.cts.SensorNativeTest
Change-Id: I58337bbf9e2dd3cc3b62c750269220a2d692835d
diff --git a/sensorhal/sensorlist.cpp b/sensorhal/sensorlist.cpp
index bd3d7ca..3c03741 100644
--- a/sensorhal/sensorlist.cpp
+++ b/sensorhal/sensorlist.cpp
@@ -57,18 +57,21 @@
constexpr uint32_t kDirectReportFlagAccel = (
// support up to rate level fast (nominal 200Hz);
(SENSOR_DIRECT_RATE_FAST << SENSOR_FLAG_SHIFT_DIRECT_REPORT)
- // support ashmem direct channel
- | SENSOR_FLAG_DIRECT_CHANNEL_ASHMEM);
+ // support ashmem and gralloc direct channel
+ | SENSOR_FLAG_DIRECT_CHANNEL_ASHMEM
+ | SENSOR_FLAG_DIRECT_CHANNEL_GRALLOC);
constexpr uint32_t kDirectReportFlagGyro = (
// support up to rate level fast (nominal 200Hz);
(SENSOR_DIRECT_RATE_FAST << SENSOR_FLAG_SHIFT_DIRECT_REPORT)
- // support ashmem direct channel
- | SENSOR_FLAG_DIRECT_CHANNEL_ASHMEM);
+ // support ashmem and gralloc direct channel
+ | SENSOR_FLAG_DIRECT_CHANNEL_ASHMEM
+ | SENSOR_FLAG_DIRECT_CHANNEL_GRALLOC);
constexpr uint32_t kDirectReportFlagMag = (
// support up to rate level normal (nominal 50Hz);
(SENSOR_DIRECT_RATE_NORMAL << SENSOR_FLAG_SHIFT_DIRECT_REPORT)
- // support ashmem direct channel
- | SENSOR_FLAG_DIRECT_CHANNEL_ASHMEM);
+ // support ashmem and gralloc direct channel
+ | SENSOR_FLAG_DIRECT_CHANNEL_ASHMEM
+ | SENSOR_FLAG_DIRECT_CHANNEL_GRALLOC);
#else
constexpr uint32_t kDirectReportFlagAccel = 0;
constexpr uint32_t kDirectReportFlagGyro = 0;