egl: Remove retire event.
Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*
Change-Id: Ibf63d22e42ae52307662107eec50f80de0e703f5
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
index a2e12f7..429e837 100644
--- a/libs/gui/Surface.cpp
+++ b/libs/gui/Surface.cpp
@@ -49,9 +49,6 @@
mAutoRefresh(false),
mSharedBufferSlot(BufferItem::INVALID_BUFFER_SLOT),
mSharedBufferHasBeenQueued(false),
- mQueriedSupportedTimestamps(false),
- mFrameTimestampsSupportsPresent(false),
- mFrameTimestampsSupportsRetire(false),
mEnableFrameTimestamps(false),
mFrameEventHistory(std::make_unique<ProducerFrameEventHistory>())
{
@@ -199,7 +196,6 @@
const nsecs_t* outLastRefreshStartTime,
const nsecs_t* outGpuCompositionDoneTime,
const nsecs_t* outDisplayPresentTime,
- const nsecs_t* outDisplayRetireTime,
const nsecs_t* outDequeueReadyTime,
const nsecs_t* outReleaseTime) {
bool checkForLatch = (outLatchTime != nullptr) && !e->hasLatchInfo();
@@ -210,13 +206,11 @@
bool checkForDisplayPresent = (outDisplayPresentTime != nullptr) &&
!e->hasDisplayPresentInfo();
- // LastRefreshStart, DisplayRetire, DequeueReady, and Release are never
+ // LastRefreshStart, DequeueReady, and Release are never
// available for the last frame.
bool checkForLastRefreshStart = (outLastRefreshStartTime != nullptr) &&
!e->hasLastRefreshStartInfo() &&
(e->frameNumber != lastFrameNumber);
- bool checkForDisplayRetire = (outDisplayRetireTime != nullptr) &&
- !e->hasDisplayRetireInfo() && (e->frameNumber != lastFrameNumber);
bool checkForDequeueReady = (outDequeueReadyTime != nullptr) &&
!e->hasDequeueReadyInfo() && (e->frameNumber != lastFrameNumber);
bool checkForRelease = (outReleaseTime != nullptr) &&
@@ -225,8 +219,7 @@
// RequestedPresent and Acquire info are always available producer-side.
return checkForLatch || checkForFirstRefreshStart ||
checkForLastRefreshStart || checkForGpuCompositionDone ||
- checkForDisplayPresent || checkForDisplayRetire ||
- checkForDequeueReady || checkForRelease;
+ checkForDisplayPresent || checkForDequeueReady || checkForRelease;
}
static void getFrameTimestamp(nsecs_t *dst, const nsecs_t& src) {
@@ -246,8 +239,8 @@
nsecs_t* outRequestedPresentTime, nsecs_t* outAcquireTime,
nsecs_t* outLatchTime, nsecs_t* outFirstRefreshStartTime,
nsecs_t* outLastRefreshStartTime, nsecs_t* outGpuCompositionDoneTime,
- nsecs_t* outDisplayPresentTime, nsecs_t* outDisplayRetireTime,
- nsecs_t* outDequeueReadyTime, nsecs_t* outReleaseTime) {
+ nsecs_t* outDisplayPresentTime, nsecs_t* outDequeueReadyTime,
+ nsecs_t* outReleaseTime) {
ATRACE_CALL();
Mutex::Autolock lock(mMutex);
@@ -256,15 +249,6 @@
return INVALID_OPERATION;
}
- // Verify the requested timestamps are supported.
- querySupportedTimestampsLocked();
- if (outDisplayPresentTime != nullptr && !mFrameTimestampsSupportsPresent) {
- return BAD_VALUE;
- }
- if (outDisplayRetireTime != nullptr && !mFrameTimestampsSupportsRetire) {
- return BAD_VALUE;
- }
-
FrameEvents* events = mFrameEventHistory->getFrame(frameNumber);
if (events == nullptr) {
// If the entry isn't available in the producer, it's definitely not
@@ -276,7 +260,7 @@
if (checkConsumerForUpdates(events, mLastFrameNumber,
outLatchTime, outFirstRefreshStartTime, outLastRefreshStartTime,
outGpuCompositionDoneTime, outDisplayPresentTime,
- outDisplayRetireTime, outDequeueReadyTime, outReleaseTime)) {
+ outDequeueReadyTime, outReleaseTime)) {
FrameEventHistoryDelta delta;
mGraphicBufferProducer->getFrameTimestamps(&delta);
mFrameEventHistory->applyDelta(delta);
@@ -300,7 +284,6 @@
outGpuCompositionDoneTime, events->gpuCompositionDoneFence);
getFrameTimestampFence(
outDisplayPresentTime, events->displayPresentFence);
- getFrameTimestampFence(outDisplayRetireTime, events->displayRetireFence);
getFrameTimestampFence(outReleaseTime, events->releaseFence);
return NO_ERROR;
@@ -740,31 +723,6 @@
return err;
}
-void Surface::querySupportedTimestampsLocked() const {
- // mMutex must be locked when calling this method.
-
- if (mQueriedSupportedTimestamps) {
- return;
- }
- mQueriedSupportedTimestamps = true;
-
- std::vector<FrameEvent> supportedFrameTimestamps;
- status_t err = composerService()->getSupportedFrameTimestamps(
- &supportedFrameTimestamps);
-
- if (err != NO_ERROR) {
- return;
- }
-
- for (auto sft : supportedFrameTimestamps) {
- if (sft == FrameEvent::DISPLAY_PRESENT) {
- mFrameTimestampsSupportsPresent = true;
- } else if (sft == FrameEvent::DISPLAY_RETIRE) {
- mFrameTimestampsSupportsRetire = true;
- }
- }
-}
-
int Surface::query(int what, int* value) const {
ATRACE_CALL();
ALOGV("Surface::query");
@@ -826,16 +784,6 @@
static_cast<int>(durationUs);
return NO_ERROR;
}
- case NATIVE_WINDOW_FRAME_TIMESTAMPS_SUPPORTS_PRESENT: {
- querySupportedTimestampsLocked();
- *value = mFrameTimestampsSupportsPresent ? 1 : 0;
- return NO_ERROR;
- }
- case NATIVE_WINDOW_FRAME_TIMESTAMPS_SUPPORTS_RETIRE: {
- querySupportedTimestampsLocked();
- *value = mFrameTimestampsSupportsRetire ? 1 : 0;
- return NO_ERROR;
- }
case NATIVE_WINDOW_IS_VALID: {
*value = mGraphicBufferProducer != nullptr ? 1 : 0;
return NO_ERROR;
@@ -1090,14 +1038,13 @@
nsecs_t* outLastRefreshStartTime = va_arg(args, int64_t*);
nsecs_t* outGpuCompositionDoneTime = va_arg(args, int64_t*);
nsecs_t* outDisplayPresentTime = va_arg(args, int64_t*);
- nsecs_t* outDisplayRetireTime = va_arg(args, int64_t*);
nsecs_t* outDequeueReadyTime = va_arg(args, int64_t*);
nsecs_t* outReleaseTime = va_arg(args, int64_t*);
return getFrameTimestamps(frameId,
outRequestedPresentTime, outAcquireTime, outLatchTime,
outFirstRefreshStartTime, outLastRefreshStartTime,
outGpuCompositionDoneTime, outDisplayPresentTime,
- outDisplayRetireTime, outDequeueReadyTime, outReleaseTime);
+ outDequeueReadyTime, outReleaseTime);
}
int Surface::dispatchGetWideColorSupport(va_list args) {