Skip to content
Commit 6fbb788f authored by chaviw's avatar chaviw
Browse files

Fix blur in ViewRootImpl

The blur code in ViewRootImpl had a few issues

1. The transaction was applied or merged in frameCompleteCallback. This
is too late since the frame could have already been sent to
SurfaceFlinger and possibly latched already. We need to make sure we
apply or merge the transaction before latching. Therefore, moved the
blur request code into the frameCallback, which is invoked before the
buffers are swapped.

2. The blur code was using the blast sync transaction. This means the
blur would only get applied if a request to sync transactions was
called, which isn't very often. Instead, use mergeWithNextTransaction
which will send the transaction to the BBQ. The BBQ will either apply
it when the buffers are swapped or merge with a pending transaction that
is applied later to work with blast sync. This ensures the transaction
is synchronized with the correct frame

Test: manual
Bug: 174145445
Change-Id: Id36719c03f18739513e3198602c8a7ec4fd8da69
parent b5048e48
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment