gpuDrawTime should default to 0 when endTime is unknown

gpuDrawTime should default to 0 when endTime is unknown, otherwise we
will treat nagative duration as infinity in JankTracker::finishGpuDraw.

Test: atest com.android.server.cts.GraphicsStatsValidationTest#testJankyDrawFrame
Bug: b/168262403
Change-Id: I4bb61074e6917ec7ef4af429f48487ae34f8ad0b
This commit is contained in:
Boleyn Su
2020-10-16 04:44:35 +09:00
parent 97d89af95f
commit 95cf4e7088

View File

@@ -158,7 +158,7 @@ public:
// GPU start time is approximated to the moment before swapBuffer is invoked.
// We could add an EGLSyncKHR fence at the beginning of the frame, but that is an overhead.
int64_t endTime = get(FrameInfoIndex::GpuCompleted);
return endTime > 0 ? endTime - get(FrameInfoIndex::SwapBuffers) : -1;
return endTime > 0 ? endTime - get(FrameInfoIndex::SwapBuffers) : 0;
}
inline int64_t& set(FrameInfoIndex index) { return mFrameInfo[static_cast<int>(index)]; }