-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] Wait for the previous AHB texture to be fully recyclable. #52588
Conversation
|
Still WIP as I am not able to explain a validation error on early semaphore destruction. But it may be that I am doing something wrong where the tracked objects are being collected too early. |
|
Oh, missed your comment here. i will check this out and play around with it for a bit, I have a few ideas. |
|
Ok, the validation errors due to bad tracking are now fixed. Need to verify the waits actually fix our original issue (they should) and also patchup the tracing in the present ready fence case as I believe I made the same mistake earlier. |
jonahwilliams
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The Android surface transaction completion handler documentation states: ``` Buffers which are replaced or removed from the scene in the transaction invoking this callback may be reused after this point. ``` However, this is NOT sufficient. One also needs to be obtain the previous release fence and perform a wait for the buffer to be safely reusable. This patch adds a GPU side wait for this fence using available extensions.
7660737 to
ca99a7c
Compare
|
Experimenting with the macrobenchmarks app, I couldn't see the checkerboarding we saw last week. I think this is good to go. |
flutter/engine@d88b7db...42898e0 2024-05-07 [email protected] [Impeller] Wait for the previous AHB texture to be fully recyclable. (flutter/engine#52588) 2024-05-07 [email protected] Manual Skia roll to 2319f1ae8fe42525f8b6a1969a1cee67bdbee290 (flutter/engine#52615) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
The Android surface transaction completion handler documentation states:
However, this is NOT sufficient. One also needs to be obtain the previous release fence and perform a wait for the buffer to be safely reusable.
This patch adds a GPU side wait for this fence using available extensions.
Fixes flutter/flutter#147758