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

Skip to content
Commit 05086b25 authored by Robert Carr's avatar Robert Carr
Browse files

BLASTBufferQueue: Handler allocateBuffers on thread.

allocateBuffers is a one-way method in the IGBP interface. In
the non-BLAST case the IGBP is hosted in SF and allocateBuffers
is therefore a one-way binder call executed asynchronously on an
SF binder thread. In the BLAST case the IGBP will be in process and so
allocateBuffers will execute in a blocking fashion. Callers don't like
being blocked when they weren't before, so we want to emulate this
behavior in BLASTBufferQueue. We introduce a Surface subclass
(BBQSurface) which overrides allocateBuffers and pushes the operation to
a new thread.

Bug: 168504871
Test: asit/perf/appstartup_all_apps_cyclic_dropcache_test . Enabling
BLAST triggers regression, but applying this removes the regression.

Change-Id: If6bb411e021ba2e0886dfe96b1a1a1489e3627b8
parent 9aa774d1
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