aboutsummaryrefslogtreecommitdiffstats
path: root/hwc2_device/HwcDisplay.h
diff options
context:
space:
mode:
authorRoman Stratiienko <roman.o.stratiienko@globallogic.com>2022-01-21 15:12:56 +0200
committerRoman Stratiienko <roman.o.stratiienko@globallogic.com>2022-02-04 11:16:32 +0200
commitd0c035b44a844af5017c0c3b2507af2f3907c36c (patch)
tree0204a64b0bf4d16f320678377be9620143dd0119 /hwc2_device/HwcDisplay.h
parent099c31156d4d916c1e18ec00ab163de77bd17a94 (diff)
downloaddrm-hwcomposer-d0c035b44a844af5017c0c3b2507af2f3907c36c.tar.gz
drm-hwcomposer-d0c035b44a844af5017c0c3b2507af2f3907c36c.tar.bz2
drm-hwcomposer-d0c035b44a844af5017c0c3b2507af2f3907c36c.zip
drm_hwcomposer: Implement SetActiveConfigWithConstraints
Enough to get 100% passes in Composer 2.4 VTS. Some SOCs require a VTS fix to pass [1] [1]: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1954544 Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
Diffstat (limited to 'hwc2_device/HwcDisplay.h')
-rw-r--r--hwc2_device/HwcDisplay.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/hwc2_device/HwcDisplay.h b/hwc2_device/HwcDisplay.h
index 5a5c98e..e7ce7ef 100644
--- a/hwc2_device/HwcDisplay.h
+++ b/hwc2_device/HwcDisplay.h
@@ -195,7 +195,9 @@ class HwcDisplay {
DrmHwcTwo *const hwc2_;
- std::optional<DrmMode> staged_mode;
+ std::optional<DrmMode> staged_mode_;
+ int64_t staged_mode_change_time_{};
+ uint32_t staged_mode_config_id_{};
DrmDisplayPipeline *const pipeline_;
@@ -204,6 +206,8 @@ class HwcDisplay {
VSyncWorker vsync_worker_;
bool vsync_event_en_{};
bool vsync_flattening_en_{};
+ bool vsync_tracking_en_{};
+ int64_t last_vsync_ts_{};
const hwc2_display_t handle_;
HWC2::DisplayType type_;
@@ -223,6 +227,8 @@ class HwcDisplay {
std::string DumpDelta(HwcDisplay::Stats delta);
HWC2::Error Init();
+
+ HWC2::Error SetActiveConfigInternal(uint32_t config, int64_t change_time);
};
} // namespace android