drm_hwcomposer: Add statistics on flattening to dump message
We need some way to verify that current composition is not failed to
compose, but instead sent to flatten on GPU.
Dump message shows current flattening state. It also displays how
often do compositor switches into flattening.
Signed-off-by: Roman Kovalivskyi <roman.kovalivskyi@globallogic.com>
diff --git a/include/drmdisplaycompositor.h b/include/drmdisplaycompositor.h
index cfd8f4a..26e2572 100644
--- a/include/drmdisplaycompositor.h
+++ b/include/drmdisplaycompositor.h
@@ -50,6 +50,8 @@
kConcurrent
};
+std::ostream &operator<<(std::ostream &str, FlatteningState state);
+
class DrmDisplayCompositor {
public:
DrmDisplayCompositor();
@@ -77,6 +79,7 @@
}
FlatteningState GetFlatteningState() const;
+ uint32_t GetFlattenedFramesCount() const;
bool ShouldFlattenOnClient() const;
std::tuple<uint32_t, uint32_t, int> GetActiveModeResolution();
@@ -108,6 +111,7 @@
void ApplyFrame(std::unique_ptr<DrmDisplayComposition> composition,
int status, bool writeback = false);
+ void SetFlattening(FlatteningState new_state);
bool IsFlatteningNeeded() const;
int FlattenActiveComposition();
int FlattenOnClient();
@@ -148,6 +152,7 @@
int writeback_fence_;
FlatteningState flattening_state_;
+ uint32_t frames_flattened_;
std::function<void(int)> refresh_display_cb_;
};