diff options
author | 2021-10-12 18:53:23 +0000 | |
---|---|---|
committer | 2021-10-14 21:26:26 -0700 | |
commit | 59a9f506c7293fdee01482a4bb532df953600d4c (patch) | |
tree | d0e102a21a673d6b7eb9fed85cfd6a7376685193 /services/surfaceflinger/BufferQueueLayer.cpp | |
parent | 08a97163caa30c57a8cbad571a358dd97a838e70 (diff) |
Revert^2 "Second Patch for async RenderEngine"
Keep the change of Second Patch for async RenderEngine and fix the
regression
- remove the vector variables which is to store futureFence locally in
BufferStateLayer to get avoid fd leaking
- screenshots initiated from the app don't wait on the SF main thread.
2109270e74a18585aceffc94d1758cee47bb4175
Bug: 202843200
Bug: 202833127
Bug: 202808760
Test: Wembley PIN setting test, NexusLauncherOutOfProcTests
Change-Id: I87847d01e2e330ddec88272cd8608f0b78c0a2cd
Diffstat (limited to 'services/surfaceflinger/BufferQueueLayer.cpp')
-rw-r--r-- | services/surfaceflinger/BufferQueueLayer.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/services/surfaceflinger/BufferQueueLayer.cpp b/services/surfaceflinger/BufferQueueLayer.cpp index 52bd420d91..4e5d2d03b0 100644 --- a/services/surfaceflinger/BufferQueueLayer.cpp +++ b/services/surfaceflinger/BufferQueueLayer.cpp @@ -48,7 +48,9 @@ BufferQueueLayer::~BufferQueueLayer() { // Interface implementation for Layer // ----------------------------------------------------------------------- -void BufferQueueLayer::onLayerDisplayed(const sp<Fence>& releaseFence) { +void BufferQueueLayer::onLayerDisplayed( + std::shared_future<renderengine::RenderEngineResult> futureRenderEngineResult) { + sp<Fence> releaseFence = new Fence(dup(futureRenderEngineResult.get().drawFence)); mConsumer->setReleaseFence(releaseFence); // Prevent tracing the same release multiple times. |