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