From 8d45174361a39fece141367cad3d507201f07941 Mon Sep 17 00:00:00 2001 From: Alec Mouri Date: Thu, 1 Aug 2019 19:19:16 -0700 Subject: [PATCH] [HWUI] use ANativeWindow_getLastDequeueDuration api Replaces the query() call for getting the duration of the internal dequeue() call a call that will be abi stable. Bug: 137012798 Test: builds Change-Id: I6d2118a7c093dd2ecc4ebfb4b4ee8556f7e709a7 --- libs/hwui/renderthread/CanvasContext.cpp | 26 ++++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index 88a0c6ea30850..e009134f9dbca 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -15,7 +15,17 @@ */ #include "CanvasContext.h" + #include +#include +#include +#include +#include + +#include +#include +#include +#include #include "../Properties.h" #include "AnimationContext.h" @@ -32,16 +42,6 @@ #include "utils/TimeUtils.h" #include "utils/TraceUtils.h" -#include - -#include -#include -#include - -#include -#include -#include - #define TRIM_MEMORY_COMPLETE 80 #define TRIM_MEMORY_UI_HIDDEN 20 @@ -484,16 +484,16 @@ void CanvasContext::draw() { swap.swapCompletedTime = systemTime(SYSTEM_TIME_MONOTONIC); swap.vsyncTime = mRenderThread.timeLord().latestVsync(); if (didDraw) { - int durationUs; nsecs_t dequeueStart = mNativeSurface->getLastDequeueStartTime(); if (dequeueStart < mCurrentFrameInfo->get(FrameInfoIndex::SyncStart)) { // Ignoring dequeue duration as it happened prior to frame render start // and thus is not part of the frame. swap.dequeueDuration = 0; } else { - mNativeSurface->query(NATIVE_WINDOW_LAST_DEQUEUE_DURATION, &durationUs); - swap.dequeueDuration = us2ns(durationUs); + swap.dequeueDuration = + us2ns(ANativeWindow_getLastDequeueDuration(mNativeSurface.get())); } + int durationUs; mNativeSurface->query(NATIVE_WINDOW_LAST_QUEUE_DURATION, &durationUs); swap.queueDuration = us2ns(durationUs); } else {