Cache frame event history producer-side.
* Producer maintains a recent history of frames.
* Producer only does a binder call if requested
informatiVon doesn't exist in the cache.
* Consumer sends fences to the producer, which
can be queried for timestamps without a
binder call.
Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*
Change-Id: I8a64579407cc2935f5c659462cb227b07ba27e43
diff --git a/include/gui/ISurfaceComposer.h b/include/gui/ISurfaceComposer.h
index bc36970..824e5c4 100644
--- a/include/gui/ISurfaceComposer.h
+++ b/include/gui/ISurfaceComposer.h
@@ -45,7 +45,7 @@
class IDisplayEventConnection;
class IMemoryHeap;
class Rect;
-enum class SupportableFrameTimestamps;
+enum class FrameEvent;
/*
* This class defines the Binder IPC interface for accessing various
@@ -118,7 +118,7 @@
/* Returns the frame timestamps supported by SurfaceFlinger.
*/
virtual status_t getSupportedFrameTimestamps(
- std::vector<SupportableFrameTimestamps>* outSupported) const = 0;
+ std::vector<FrameEvent>* outSupported) const = 0;
/* set display power mode. depending on the mode, it can either trigger
* screen on, off or low power mode and wait for it to complete.