Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

jonahwilliams
Copy link
Contributor

@jonahwilliams jonahwilliams commented Jul 14, 2024

Update the existing hybrid composition mode to remove the need to merge the platform and raster thread. While accessing a GL context across threads is not feasible, the fact that we use image reader surfaces means we can ignore and let the calls to getNext/LatestImage pull out the right AHBs.

jonahwilliams added 2 commits July 15, 2024 12:57
@jonahwilliams jonahwilliams marked this pull request as ready for review July 15, 2024 19:58
// until the device produces a new frame.
// 3. While the engine will also stop producing frames, there is a race condition.
final Image newImage = imageReader.acquireLatestImage();
final Image newImage = imageReader.acquireNextImage();
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check if we use this in other places. We want to use nextIMage because we want to block on scheduling.

@flutter-dashboard

This comment was marked as outdated.

jonahwilliams added 2 commits August 7, 2024 15:40
@jonahwilliams jonahwilliams removed the Work in progress (WIP) Not ready (yet) for review! label Aug 8, 2024
@jonahwilliams
Copy link
Contributor Author

After investigating this for a few weeks, I think I've concluded that in its present form - making HC platform views not require a thread merge is infesible.

The confusing initialization/de-iniitialzation order. combined with the state split across the C++/Java classes is just np too hard to manage.

Instead, Im going to focus on refactoring so that the external_view_embedder manages the state directly and can more easily remove thread merging in the future when we do Hc++

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants