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

Skip to content
Commit 0acd33a3 authored by chaviw's avatar chaviw
Browse files

Add ability to process buffers into the same syncTransaction

In a normal sync case, we send the syncTransaction and then clear it as
soon as a buffer is acquired and placed in the transaction. However, in
some cases, we want to continue processing buffers into the sync
transaction until we get the signal to stop. This is for cases when we
don't have a clear signal which buffer wants to be synced, but know when
it's done waiting for the correct buffer.

This also adds a way to retrieve and clear the buffer from the
transaction to allow BBQ to release the buffer when it knows it's ready
to acquire a new buffer. This speeds up the process so BBQ doesn't need
to wait for the asynchronous callback to release the previous buffer.

This new machanism can be used to synchronize SurfaceViews because it
knows when something has been changed and to wait until the app has
notified that it's drawn. Once it's notified, we can stop processing
frames into the sync transaction and allow the transaction to be applied
with the main window.

Bug: 200284684
Test: BLASTBufferQueueTest
Change-Id: Ibdb524270de368033cf8835f0c305e8a5756ff6e
parent fae9d607
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment