Chromium Code Reviews
Descriptionexo: Cleanup and make buffer release code more robust.
Since the introduction of CompositorFrameSinkHolder it's possible
for release callbacks to be lost. This is because we rely on the
use count to drop to 0 but we're only guaranteed to get a callback
for the last frame as we only keep one CompositorFrameSinkHolder
reference.
This removes the use count in favor of a simple cancelable callback.
The use count was never necessary as attaching the buffer to
multiple surfaces is a client behavior that results in undefined
release callback behavior. Running the callback when the last
attachment is released is not worse then sending it when all
attachments have been released.
BUG=659601
TEST=exo_unittests --gtest_filter=BufferTest.*
Review-Url: https://codereview.chromium.org/2666233002
Cr-Commit-Position: refs/heads/master@{#447593}
(cherry picked from commit 2cd69789c0cc1bf7b35f6c5673ba1db6f2273cf0)
Review-Url: https://codereview.chromium.org/2736753006 .
Cr-Commit-Position: refs/branch-heads/2987@{#793}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}
Committed: https://chromium.googlesource.com/chromium/src/+/05b55a8cd99bb90122b92194f01b15cc849f8860
Patch Set 1 #
Messages
Total messages: 2 (1 generated)
|
||||||||||||||||||||||||||||