diff options
| author | chaviw <chaviw@google.com> | 2021-08-20 12:15:48 -0500 |
|---|---|---|
| committer | chaviw <chaviw@google.com> | 2021-09-03 14:50:37 -0500 |
| commit | 9c137535261cf883c0e40c0419ed41cdbdfb38e7 (patch) | |
| tree | 4db7b785debde90dbee1cbb5ec8722d069f89406 /core/java/android/util/ArrayMap.java | |
| parent | b542a6636099102d39c87ab4c43ca3487c74869d (diff) | |
Rework blast sync callback model
The previous code waited for a frame complete callback from hwui before
notifying WMS that a draw had occurred. However, frame complete callback
was not guaranteed to get called since it only invokes a callback if a
draw actually occured. VRI really needs a signal that RT has completed,
since it just needs to know that a draw was possible so it can notify
WMS that the RT completed its pass.
Instead, rename frameCompleteCallback to frameCommitCallback since that
API is exposed to a public API when a frame was actually drawn.
Create a new callback, frameCompleteCallback, that is invoked when the
draw has completed, regardless if a frame was actually drawn.
When the frameCompleteCallback is invoked, VRI can check to see if a new
frame actually drew. VRI can call into BBQ to see if the frame acquired
matches the frame that was attempted to draw. If so, VRI can wait on a
transaction callback. If not, it can allow VRI to continue. In either case,
it will notify WMS that the draw has finished.
Test: Split over and over
Bug: 195262673
Change-Id: I24dd19ab2746be3fc33e597761abf8c5249f8b5b
Diffstat (limited to 'core/java/android/util/ArrayMap.java')
0 files changed, 0 insertions, 0 deletions
