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

Skip to content
Commit 158531d0 authored by Robert Carr's avatar Robert Carr
Browse files

SurfaceComposerClient BLAST: cacheBuffers before writing transaction to parcel.

If we write the Transaction to a parcel, we want to ensure the Buffers are cached
before crossing the IPC boundary. Otherwise the receiving party will cache the buffers
but is unlikely to use them again as they are owned by the other process.
You may be asking yourself, is this const cast safe? Const cast is safe up
until the point where you try and write to an object that was originally const at which
point we enter undefined behavior. In this case we are safe though, because there are
two possibilities:
   1. The SurfaceComposerClient::Transaction was originally non-const. Safe.
   2. It was originall const! In this case not only was it useless, but it by definition
      contains no composer states and so cacheBuffers will not perform any writes.

Bug: 153561718
Test: Existing tests pass. Manual test of BLAST Sync Engine.
Change-Id: Ibb5425955f3d8c40f8c227d8911989dd76f8afe4
parent bbc85626
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