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

Commit 782102cc authored by Rob Carr's avatar Rob Carr Committed by Android (Google) Code Review
Browse files

Merge "ASurfaceTransaction: Add setEnableBackpressure" into sc-dev

parents 1da23870 f57c0163
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -252,6 +252,7 @@ LIBANDROID {
    ASurfaceTransaction_setColor; # introduced=29
    ASurfaceTransaction_setDamageRegion; # introduced=29
    ASurfaceTransaction_setDesiredPresentTime; # introduced=29
    ASurfaceTransaction_setEnableBackPressure; # introduced=31
    ASurfaceTransaction_setFrameRate; # introduced=30
    ASurfaceTransaction_setFrameRateWithChangeStrategy; # introduced=31
    ASurfaceTransaction_setGeometry; # introduced=29
+14 −0
Original line number Diff line number Diff line
@@ -656,3 +656,17 @@ void ASurfaceTransaction_setFrameRateWithChangeStrategy(ASurfaceTransaction* aSu
    sp<SurfaceControl> surfaceControl = ASurfaceControl_to_SurfaceControl(aSurfaceControl);
    transaction->setFrameRate(surfaceControl, frameRate, compatibility, changeFrameRateStrategy);
}

void ASurfaceTransaction_setEnableBackPressure(ASurfaceTransaction* aSurfaceTransaction,
                                               ASurfaceControl* aSurfaceControl,
                                               bool enableBackpressure) {
    CHECK_NOT_NULL(aSurfaceControl);
    CHECK_NOT_NULL(aSurfaceTransaction);

    sp<SurfaceControl> surfaceControl = ASurfaceControl_to_SurfaceControl(aSurfaceControl);
    Transaction* transaction = ASurfaceTransaction_to_Transaction(aSurfaceTransaction);

    const uint32_t flags = enableBackpressure ?
                      layer_state_t::eEnableBackpressure : 0;
    transaction->setFlags(surfaceControl, flags, layer_state_t::eEnableBackpressure);
}