Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7834d38d authored by Rachel Lee's avatar Rachel Lee Committed by Android (Google) Code Review
Browse files

Merge changes from topic "surfacectrl"

* changes:
  Pass start time from HWUI canvas context.
  Implement timeline in libandroid ASurfaceControl.
parents d9366c34 4fa74845
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -526,8 +526,9 @@ nsecs_t CanvasContext::draw() {
        if (vsyncId != UiFrameInfoBuilder::INVALID_VSYNC_ID) {
            const auto inputEventId =
                    static_cast<int32_t>(mCurrentFrameInfo->get(FrameInfoIndex::InputEventId));
            native_window_set_frame_timeline_info(mNativeSurface->getNativeWindow(), vsyncId,
                                                  inputEventId);
            native_window_set_frame_timeline_info(
                    mNativeSurface->getNativeWindow(), vsyncId, inputEventId,
                    mCurrentFrameInfo->get(FrameInfoIndex::FrameStartTime));
        }
    }

+1 −0
Original line number Diff line number Diff line
@@ -263,6 +263,7 @@ LIBANDROID {
    ASurfaceTransaction_setEnableBackPressure; # introduced=31
    ASurfaceTransaction_setFrameRate; # introduced=30
    ASurfaceTransaction_setFrameRateWithChangeStrategy; # introduced=31
    ASurfaceTransaction_setFrameTimeline; # introduced=Tiramisu
    ASurfaceTransaction_setGeometry; # introduced=29
    ASurfaceTransaction_setHdrMetadata_cta861_3; # introduced=29
    ASurfaceTransaction_setHdrMetadata_smpte2086; # introduced=29
+8 −0
Original line number Diff line number Diff line
@@ -659,3 +659,11 @@ void ASurfaceTransaction_setOnCommit(ASurfaceTransaction* aSurfaceTransaction, v

    transaction->addTransactionCommittedCallback(callback, context);
}

void ASurfaceTransaction_setFrameTimeline(ASurfaceTransaction* aSurfaceTransaction,
                                          int64_t vsyncId) {
    CHECK_NOT_NULL(aSurfaceTransaction);
    // TODO(b/210043506): Get start time from platform.
    ASurfaceTransaction_to_Transaction(aSurfaceTransaction)
            ->setFrameTimelineInfo({.vsyncId = vsyncId, .startTimeNanos = 0});
}