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

GLFW example with dirty region management #35057

Merged
merged 19 commits into from
Aug 15, 2022

Conversation

betrevisan
Copy link
Contributor

@betrevisan betrevisan commented Aug 1, 2022

The changes proposed in this PR update the GLFW example to support dirty region management. It updates the example to a loading spinner in the center of the screen and adjusts the user-defined embedder callbacks to manage the information necessary for partial repaint. The goal of this example is also to serve as a local benchmark for dirty region management within the Embedder API.

Note: This PR is dependent on #35022.

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides].
  • I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt. See [testing the engine] for instructions on
    writing and running engine tests.
  • I updated/added relevant documentation (doc comments with ///).
  • I signed the [CLA].
  • All existing and new tests are passing.

@betrevisan betrevisan changed the title Glfw example drm GLFW example with dirty region management Aug 1, 2022
@betrevisan betrevisan marked this pull request as ready for review August 1, 2022 20:06
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@bdero
Copy link
Member

bdero commented Aug 1, 2022

Given the additional complexity and build requirements not available on MacOS (EGL), can we make this a separate GLFW example? Perhaps under examples/glfw_drm with a README.md explaining what DRM is/pointing to the doc? It would be nice to keep example/glfw as the simplest practical demonstration for people just getting started with embedding Flutter.

@betrevisan
Copy link
Contributor Author

Given the additional complexity and build requirements not available on MacOS (EGL), can we make this a separate GLFW example? Perhaps under examples/glfw_drm with a README.md explaining what DRM is/pointing to the doc? It would be nice to keep example/glfw as the simplest practical demonstration for people just getting started with embedding Flutter.

I agree that it would be nice to keep the example as simple as possible. I will add the partial repaint example as an extra then.

Copy link
Member

@bdero bdero left a comment

Choose a reason for hiding this comment

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

Just some comments about the build setup/running in CI and fetching extensions/doing proc resolution ahead of time. But overall looking good!

@bdero
Copy link
Member

bdero commented Aug 4, 2022

This looks like it should be good to go as soon as #35022 lands

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