Add GPU completion to FrameMetrics (1/3)
- Add SurfaceStatsCallback to TransactionCompletedListener
- Register a callback in RenderProxy to be called when we have
surface stats from SF via the BLAST callback.
- Instead of finishing a frame for frame metrics reporting
immediately, wait until BLAST callback fires, note GPU completion
time and finish frame.
- Expose GPU_COMPLETION in FrameMetrics
- Modify TOTAL_DURATION to also include GPU_COMPLETION
Test: FrameMetricsListenerTest
Fixes: 171046219
Change-Id: I16fa1d80cfc4e7a5527c18fec7e885409f17ee4d
diff --git a/native/android/libandroid.map.txt b/native/android/libandroid.map.txt
index 7a18bd5..b01878b 100644
--- a/native/android/libandroid.map.txt
+++ b/native/android/libandroid.map.txt
@@ -300,3 +300,13 @@
local:
*;
};
+
+LIBANDROID_PLATFORM {
+ global:
+ extern "C++" {
+ ASurfaceControl_registerSurfaceStatsListener*;
+ ASurfaceControl_unregisterSurfaceStatsListener*;
+ ASurfaceControlStats_getAcquireTime*;
+ ASurfaceControlStats_getFrameNumber*;
+ };
+} LIBANDROID;
\ No newline at end of file