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
Loading
Please register or sign in to comment